package com.wjf.birdfish.util;

import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TimerTask;
import java.util.Map.Entry;

import org.apache.log4j.Logger;



/*****
 * 每隔指定时间对服务器内存对登录用户进行失效用户清理
 * @author lzp
 *
 */
public class UserListenerTask extends TimerTask{
	
	private static Logger LOG = Logger.getLogger(UserListenerTask.class.getName());
	@Override
	public void run() {
//		UserLoginContext userLoginContext =UserLoginContext.getInstance();
//		Map<String,Long> userMap = userLoginContext.getLoginedUserList();
//		Set<String> keys = userMap.keySet();
//		LOG.info("On Line User Size:" + userMap.size());
//		for (Iterator it = keys.iterator(); it.hasNext();) {
//			String userId = (String) it.next();
//			Long dealTime = userMap.get(userId);
//			Long nowTime = new Date().getTime();
//			if((nowTime - dealTime) > CommonEnv.getUserInvalidateTime()){
//				it.remove();
//				userLoginContext.removeUser(userId);
//				LOG.info("UserListenerTask:run:removeUser:user="+userId);
//			}
//		}
		
		UserLoginContext userLoginContext =UserLoginContext.getInstance();
		Map<String,Long> loginUserList = userLoginContext.getLoginedUserList();
		LOG.info("On Line User Size:" + loginUserList.size());
		Set<Entry<String,Long>> loginUserSet = loginUserList.entrySet();
		for (Entry<String, Long> entry : loginUserSet) {
			String userId=entry.getKey();
			Long dealTime = entry.getValue();
			Long nowTime = new Date().getTime();
//			if((nowTime - dealTime) > CommonEnv.getUserInvalidateTime()){
//				userLoginContext.removeUser(userId);
//				LOG.info("UserListenerTask:run:removeUser:user="+userId);
//			}
		}
		//LOG.info("UserListenerTask:run:end");
	}

}
